using System;
using System.Collections.Generic;
using System.Text;

namespace Toenda.Foundation.PluginBase {
	/// <summary>
	/// Class PluginProvider
	/// </summary>
	public class PluginInfo {
		private string _name;
		private string _desc;
		private string _author;
		private string _version;

		// ---------------------------------------------------
		// CONSTRUCTORS
		// ---------------------------------------------------

		/// <summary>
		/// Default constructor
		/// </summary>
		public PluginInfo() {
		}

		/// <summary>
		/// Specific constructor
		/// </summary>
		/// <param name="name">The name of the plugin.</param>
		/// <param name="description">A description about the plugin.</param>
		/// <param name="author">The author of the plugin.</param>
		/// <param name="version">The version of the plugin.</param>
		public PluginInfo(
			string name, 
			string description, 
			string author, 
			string version) {
			this._name = name;
			this._desc = description;
			this._author = author;
			this._version = version;
		}

		// ---------------------------------------------------
		// INTERFACE IMPLEMENTATIONS
		// ---------------------------------------------------

		// ---------------------------------------------------
		// PROPERTIES
		// ---------------------------------------------------

		/// <summary>
		/// Get or set the name of the plugin.
		/// </summary>
		public string Name {
			get { return this._name; }
			set { this._name = value; }
		}

		/// <summary>
		/// Get or set a description about the plugin.
		/// </summary>
		public string Description {
			get { return this._desc; }
			set { this._desc = value; }
		}

		/// <summary>
		/// Get or set the author of the plugin.
		/// </summary>
		public string Author {
			get { return this._author; }
			set { this._author = value; }
		}

		/// <summary>
		/// Get or set the version of the plugin.
		/// </summary>
		public string Version {
			get { return this._version; }
			set { this._version = value; }
		}

		// ---------------------------------------------------
		// EVENTS
		// ---------------------------------------------------

		// ---------------------------------------------------
		// PRIVATE MEMBERS
		// ---------------------------------------------------

		// ---------------------------------------------------
		// PROTECTED MEMBERS
		// ---------------------------------------------------

		// ---------------------------------------------------
		// PUBLIC MEMBERS
		// ---------------------------------------------------
	}
}
